#include "Factory.h"

int main() {
  // form 1 :
  Product* my_product = StandardFactory<MyProduct>().CreateProduct();
  Product* your_product = StandardFactory<YourProduct>().CreateProduct();
  Product* their_product = StandardFactory<TheirProduct>().CreateProduct();

  // form 2 :
  Product* my_normal_product = NormalFactory().CreateProduct(ProductId::kMyProduct); 
  Product* your_normal_product = NormalFactory().CreateProduct(ProductId::kYourProduct); 
  Product* their_normal_product = NormalFactory().CreateProduct(ProductId::kTheirProduct); 
  return 0;
}
